/**
 * @addtogroup brd_switch
 * brd_switch
 * @{
 */
/**
 * @file brd_switch.h
 * @brief 开关量板级层
 * @par 修改日志
 * <table>
 * <tr><th>Date <th>Version <th>Author <th>Description
 * <tr><td>2020-09-30 <td>1.0 <td>软件工程院 <td>创建初始版本
 * @par 示例
 * @code
 * 创建一个设备.
   Bool status;

   if (Brd_SwitchGetStatus(0, &status) && status)
     // do something

 * @endcode 
 * @copyright 杭州鸿泉物联网技术股份有限公司
 */

#ifndef _BRD_SWITCH_H_
#define _BRD_SWITCH_H_

#include <ofc_types.h>
#include <hcc_error_code.h>

#ifdef __linux
#pragma GCC visibility push(default)
#endif 

#ifdef __cplusplus
extern "C" {
#endif

/**
 * 读取设备状态
 * @note 用户不需要关心具体高低电平
 * @param id: 标识, 参见[brd_def](@ref Brd_TSwitchIdTag)
 * @param status: 输出设备状态值, True表示有效, False表示无效
 * @return 当返回值 >= 0 时, 表示成功 \n
 *         当返回值 < 0 时, 表示失败, 参见[brd_def](@ref Brd_TErrorCodeTag)
 */
Int32 Brd_SwitchGetStatus(Int32 id, Bool *status);

#ifdef __cplusplus
}  ///< extern "C"
#endif

#ifdef __linux
#pragma GCC visibility pop
#endif 

#endif // _BRD_SWITCH_H_
/**
 * @} 
 */
